Learning Objectives
After completing this lesson, you’ll be able to:
- List the components of FME Flow that are important for you as an author.
- Identify the purpose of different FME Flow components.
Video

FME Flow Components
FME Flow is made up of several different components that work together to make it function. As an FME Flow Author, you don't need to have a deep understanding of its full architecture.
There are a few components of FME Flow that are important for you as an author to be aware of, so we're going to cover those now:
- FME Engines: carry out data transformation processing.
- Flow Core: queue jobs, handle scheduling, and manage load balancing.
- Web Services: handle requests made to FME Flow.
FME Engines
FME Engines process job requests by running FME Workspaces. This is the same engine, carrying out the same processing that is used by FME Form. An FME Flow installation can possess multiple engines.

Each FME Engine processes a single request (job) at a time.
FME Flow processing can be scaled by connecting additional FME Engines to the Flow Core. These FME Engines can run on the same computer as the Core or on separate computers within a distributed FME Flow environment.
There are two types of engine licenses:
- Standard: fixed licenses that are purchased per engine. Once purchased, a standard engine is available to run jobs for the duration of the license period.
- Dynamic (CPU Usage): engines that are licensed by CPU time. Dynamic Engines are enabled by purchasing credits, which are deducted only for the time that an engine CPU spends actively processing jobs. One credit equals one hour of engine CPU time. When used in conjunction with Queue Control, Dynamic Engines can be a cost-effective alternative to standard engines in certain scenarios, such as variable bursts of incoming data, or when you need to offload jobs waiting in queue for standard engines. Dynamic Engines are available only in addition to standard licensing—that is, you must have at least one standard engine license to enable licensing for Dynamic Engines. However, once you purchase credits, you can start and run as many Dynamic Engines as you want. Further details can be found here.
Flow Core
The FME Flow Core manages:
- FME workspaces
- Job management
- Job scheduling
- Notifications
- Automations
- Repository contents (workspaces, custom formats, custom transformers, data)
- Software Load Balancer
- WebSocket server
- Licensing
- Engine manager
- FME Flow queue
The FME Flow Core contains a Software Load Balancer (SLB) that distributes jobs to FME Engines.
Web Services
Much of the FME Flow networking capabilities are handled using what we call "Web Services." These Web Services are software whose interface provides communication between FME Flow and clients.
FME Flow has a number of services:
- Data Download
- Data Streaming
- Job Submitter
- KML Network Link
- Notification
- Data Upload
- Token Security
- REST
Some services (for example, Data Download) are “transformation” services that carry out data transformation, whereas others (for example, Data Upload) are non-transforming "utility" services.